/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Logica;

import java.io.Serializable;

/**
 * Representa una casilla en el tablero e implementa la clase Serializable.
 *
 * @author julian
 */
public class Casilla implements Serializable {

    private int id_casilla;
    private String premio;
    private boolean estado;
    private Ficha ficha;
    //private javax.swing.ImageIcon imagenCasilla;
    private int ejeX;
    private int ejeY;

    /**
     * Devuelve el id de la casilla
     *
     * @return id_casilla de tipo Int. es el id de la casilla
     */
    public int getId_casilla() {
        return id_casilla;
    }

    /**
     * Asigna un id a la casilla
     *
     * @param id_casilla de tipo Int. Es el id de la casilla
     */
    public void setId_casilla(int id_casilla) {
        this.id_casilla = id_casilla;
    }

    /**
     * Devuelve el premio de la casilla, si esta contiene uno
     *
     * @return premio de tipo String. Es el premio de la casilla.
     */
    public String getPremio() {
        return premio;
    }

    /**
     * Asigna el premio de la casilla, si esta contiene uno
     *
     * @param premio de tipo String. Es el premio que se asignara a la casilla
     */
    public void setPremio(String premio) {
        this.premio = premio;
    }

    /**
     * Devuelve el estado de la casilla, vacia o con una ficha
     *
     * @return estado de tipo boolean. Responde si la casilla esta vacia o no.
     */
    public boolean isEstado() {
        return estado;
    }

    /**
     * Asigna el estado de la casilla, vacia o con una ficha
     *
     * @param estado de tipo boolean. Es el estado que se le asignara a la
     * casilla
     */
    public void setEstado(boolean estado) {
        this.estado = estado;
    }

    /**
     * Devuelve la ficha que se encuentre en la casilla
     *
     * @return ficha de tipo {
     * @Ficha}. Es la ficha que se encuentra en la casilla
     */
    public Ficha getFicha() {
        return ficha;
    }

    /**
     * Asigna la ficha que se encuentre en la casilla
     *
     * @param ficha de tipo {
     * @Ficha}. Es la ficha que se le asigna a la casilla
     */
    public void setFicha(Ficha ficha) {
        this.ficha = ficha;
    }

    /**
     * Devuelve la posicion en el eje x de la casilla.
     *
     * @return ejeX de tipo Int. Es la posicion de la casilla en el eje X
     */
    public int getEjeX() {
        return ejeX;
    }

    /**
     * Asigna la posicion en el eje X de la casilla.
     *
     * @param ejeX de tipo Int. Es la posicion a asignar a la casilla en el eje
     * X.
     */
    public void setEjeX(int ejeX) {
        this.ejeX = ejeX;
    }

    /**
     * Devuelve la posicion en el eje Y de la casilla.
     *
     * @return ejeY de tipo Int. Es la posicion de la casilla en el eje Y
     */
    public int getEjeY() {
        return ejeY;
    }

    /**
     * Asigna la posicion en el eje Y de la casilla.
     *
     * @param ejeY de tipo Int. Es la posicion a asignar a la casilla en el eje
     * Y.
     */
    public void setEjeY(int ejeY) {
        this.ejeY = ejeY;
    }
}
